import store from "@/store";

const permission = {
  mounted(el, binding) {
    // 获取指令的值： v-permission="['admin']"
    const { value: perRoles } = binding;
    // 获取用户角色
    const roles = store.getters && store.getters.roles;
    if (perRoles && perRoles instanceof Array && perRoles.length > 0) {
      // 判断用户角色中有没有按钮要求的角色
      const hasPermission = roles.some(role => {
        return perRoles.includes(role);
      });

      // 没有权限则删除当前dom
      if (!hasPermission) {
        el.parentNode && el.parentNode.removeChild(el);
      }
    } else {
      throw new Error(`请按如下方式定义指令权限：v-permission="['admin','editor']"`);
    }
  }
}

export default permission